package eclant.eclipse.jdt;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.IClasspathContainer;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.IJavaProject;

public interface ClasspathVisitor
{
	public boolean enter(IClasspathContainer container);
	public boolean enter(IJavaProject project);
	public void previouslyEncountered(IJavaProject project);

	public void exit();

	public void library(IFolder classFolder, boolean previouslyEncountered);
	public void library(IFile jarFile, boolean previouslyEncountered);
	public void externalLibrary(IPath name, boolean previouslyEncountered);
	public void source(IJavaProject project, IFolder srcFolder, IFolder outputFolder,
			boolean previouslyEncountered);

	public void resolved(IClasspathEntry entry, IClasspathEntry resolved);
	public void resolveFailed(IClasspathEntry entry);

}
